home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / The World of Computer Software.iso / ccr.zip / CCR-VERB.T < prev    next >
Text File  |  1993-01-23  |  18KB  |  996 lines

  1. /*
  2.  * Colossal Cave Revisited
  3.  *
  4.  * A remake of Willie Crowther and Don Woods' classic Adventure.
  5.  * Converted from Donald Ekman's PC port of the original FORTRAN source.
  6.  * TADS version by David M. Baggett for ADVENTIONS.
  7.  *
  8.  * Please document all changes in the history so we know who did what.
  9.  *
  10.  * This source code is copylefted under the terms of the GNU Public
  11.  * License.  Essentially, this means that you are free to do whatever
  12.  * you wish with this source code, provided you do not charge any
  13.  * money for it or for any derivative works.
  14.  *
  15.  * ADVENTIONS distributes this game, but you are free to do what you will
  16.  * with it, provided you adhere to the terms in the GNU Public License.
  17.  * Send correspondence regarding this game or original works distributed
  18.  * by ADVENTIONS to 
  19.  *
  20.  *    ADVENTIONS
  21.  *    PO Box 851
  22.  *    Columbia, MD 21044
  23.  *
  24.  * If you would like a catalog of releases, please enclose a SASE.  Thanks!
  25.  *
  26.  * Contributors
  27.  *
  28.  *    dmb    In real life:    David M. Baggett
  29.  *        Internet:    <dmb@ai.mit.edu>
  30.  *        Compu$erve:    76440,2671 (ADVENTIONS account)
  31.  *        GEnie:        ADVENTIONS
  32.  *
  33.  * Modification History
  34.  *
  35.  * 1-Jan-93    dmb    rec.arts.int-fiction BETA release (source only)
  36.  *                      For beta testing only -- not for general
  37.  *            distribution.
  38.  *
  39.  */
  40.  
  41. /*
  42.  * This file defines new verbs, including the myriad new travel verbs.
  43.  */
  44.  
  45. /*
  46.  * system verbs
  47.  */
  48. spaceVerb: deepverb
  49.     sdesc = "space"
  50.     verb = 'space'
  51.      action(actor) = {
  52.         if (global.doublespace) {
  53.             "Now single-spacing text.";
  54.             global.doublespace := nil;
  55.         }
  56.         else {
  57.             "Now double-spacing text.";
  58.             global.doublespace := true;
  59.         }
  60.  
  61.         abort;    /* doesn't count as a turn */
  62.      }
  63. ;
  64. indentVerb: deepverb
  65.     sdesc = "indent"
  66.     verb = 'indent'
  67.      action(actor) = {
  68.         if (global.indent) {
  69.             "Paragraph indentation now off.";
  70.             global.indent := nil;
  71.         }
  72.         else {
  73.             "Paragraph indentation now on.";
  74.             global.indent := true;
  75.         }
  76.         
  77.         abort;    /* doesn't count as a turn */
  78.      }
  79. ;
  80. deterministicverb: deepverb
  81.     verb = 'deterministic' 'norandom' 'norandomize'
  82.     action(actor) = { global.nondeterministic := nil; }
  83. ;
  84.  
  85. /*
  86.  * Special and/or magic verbs
  87.  */
  88. yesVerb: deepverb
  89.     //
  90.     // This is a hack to allow the following:
  91.     //
  92.     // >kill dragon
  93.     // With what, your bare hands?
  94.     // >yes
  95.     //
  96.     sdesc = "answer yes to"
  97.     verb = 'yes' 'uh-huh' 'uhuh' 'yea' 'yeah' 'yup' 'sure' 'yep'
  98.  
  99.     action(actor) = {
  100.         //
  101.         // If we asked "with your bear hands?" last turn,
  102.         // do special stuff.
  103.         //
  104.         if (Dragon.rhetoricalturn = global.turnsofar - 1)
  105.             Dragon.kill;
  106.         else if (Bear.rhetoricalturn = global.turnsofar - 1)
  107.             Bear.nicetry;
  108.         else if (Dwarves.rhetoricalturn = global.turnsofar - 1)
  109.             Dwarves.nicetry;
  110.         else
  111.             "You're sounding awfully positive!";
  112.     }
  113. ;
  114.  
  115. feeVerb: deepverb
  116.     said = nil
  117.  
  118.     sdesc = "fee"
  119.     verb = 'fee'
  120.     action(actor) = {
  121.         if (self.said)
  122.             self.fail;
  123.         else {
  124.             "Ok!";
  125.             fieVerb.tcount := global.turnsofar + 1;
  126.             foeVerb.tcount := global.turnsofar + 2;
  127.             fooVerb.tcount := global.turnsofar + 3;
  128.             self.said := true;
  129.             fieVerb.said := nil;
  130.             foeVerb.said := nil;
  131.         }
  132.     }
  133.  
  134.     fail = {
  135.         if (self.said) {
  136.             "What's the matter, can't you read?  Now 
  137.             you'd best start over. ";
  138.         }
  139.         else {
  140.             "Nothing happens.";
  141.         }
  142.  
  143.         self.reset;
  144.     }
  145.  
  146.     reset = {
  147.         fieVerb.tcount := -1;
  148.         foeVerb.tcount := -1;
  149.         fooVerb.tcount := -1;
  150.  
  151.         self.said := nil;
  152.         fieVerb.said := nil;
  153.         foeVerb.said := nil;
  154.     }
  155. ;
  156. fieVerb: deepverb
  157.     said = nil
  158.     tcount = -1
  159.     sdesc = "fie"
  160.     verb = 'fie'
  161.     action(actor) = {
  162.         if (self.tcount = global.turnsofar) {
  163.             self.said := true;
  164.             "Ok!";
  165.         }
  166.         else
  167.             feeVerb.fail;
  168.     }
  169. ;
  170. foeVerb: deepverb
  171.     said = nil
  172.     tcount = -1
  173.     sdesc = "foe"
  174.     verb = 'foe'
  175.     action(actor) = {
  176.         if (not fieVerb.said)
  177.             feeVerb.fail;
  178.         else if (self.tcount = global.turnsofar) {
  179.             self.said := true;
  180.             "Ok!";
  181.         }
  182.         else
  183.             feeVerb.fail;
  184.     }
  185. ;
  186. fooVerb: deepverb
  187.     tcount = -1
  188.     sdesc = "foo"
  189.     verb = 'foo'
  190.     action(actor) = {
  191.         if (not foeVerb.said)
  192.             feeVerb.fail;
  193.         else if (self.tcount = global.turnsofar) {
  194.             if (golden_eggs.isIn(In_Giant_Room))
  195.                 "Nothing happens.";
  196.             else {
  197.                 if (golden_eggs.isIn(Me.location))
  198.                     "The nest of golden eggs has 
  199.                     vanished!";
  200.                 else
  201.                     "Done!";
  202.  
  203.                 golden_eggs.moveInto(In_Giant_Room);
  204.  
  205.                 if (golden_eggs.isIn(Me.location)) {
  206.                     P(); I();
  207.                     "A large nest full of golden 
  208.                     eggs suddenly appears out of 
  209.                     nowhere!";
  210.                 }
  211.             }
  212.  
  213.             feeVerb.reset;
  214.         }
  215.         else
  216.             feeVerb.fail;
  217.     }
  218. ;
  219. fumVerb: deepverb
  220.     sdesc = "fum"
  221.     verb = 'fum'
  222.     action(actor) = {
  223.         feeVerb.fail;
  224.     }
  225. ;
  226.  
  227. losingmagicVerb: deepverb
  228.     sdesc = "foobar"
  229.     verb = 'sesame' 'open-sesame' 'opensesame' 'abracadabra'
  230.         'shazam' 'shazzam' 'hocus' 'pocus' 'hokus' 'pokus'
  231.         'hocuspocus' 'hocus-pocus' 'hokuspokus' 'hokus-pokus'
  232.         'foobar'
  233.     action(actor) = {
  234.         "Good try, but that is an old worn-out magic word.";
  235.     }
  236. ;
  237.  
  238. /*
  239.  * new general-purpose verbs.
  240.  */
  241. helpVerb: deepverb
  242.     sdesc = "help"
  243.     verb = 'help' 'info' 'information'
  244.     action(actor) = { help(); }
  245. ;
  246. waveVerb: deepverb
  247.     sdesc = "wave"
  248.     verb = 'wave' 'shake'
  249.     doAction = 'Wave'
  250. ;
  251.  
  252. breakVerb: deepverb
  253.     sdesc = "break"
  254.     verb = 'break' 'destroy' 'damage' 'bust' 'mangle' 'smash'
  255.     doAction = 'Break'
  256. ;
  257.  
  258. smellVerb: deepverb
  259.     sdesc = "smell"
  260.     verb = 'smell' 'sniff' 'waft'
  261.     doAction = 'Smell'
  262. ;
  263.  
  264. rubVerb: deepverb
  265.     sdesc = "rub"
  266.     verb = 'rub' 'caress' 'fondle' 'pat' 'pet' 'hug' 'cuddle' 'squeeze'
  267.     doAction = 'Rub'
  268. ;
  269.  
  270. countVerb: deepverb
  271.     verb = 'count'
  272.     sdesc = "count"
  273.     doAction = 'Count'
  274. ;
  275.  
  276. tieVerb: deepverb
  277.     sdesc = "tie"
  278.     verb = 'tie' 'knot'
  279.     doAction = 'Tie'
  280. ;
  281.  
  282. untieVerb: deepverb
  283.     sdesc = "untie"
  284.     verb = 'untie' 'unknot'
  285.     doAction = 'Untie'
  286. ;
  287.  
  288. pourVerb: deepverb
  289.     sdesc = "pour"
  290.     verb = 'pour' 'dump'
  291.     prepDefault = onPrep
  292.     ioAction(onPrep) = 'PourOn'
  293. ;
  294. douseVerb: deepverb
  295.     sdesc = "douse"
  296.     verb = 'douse' 'drench'
  297.     prepDefault = withPrep
  298.     ioAction(withPrep) = 'DouseWith'
  299. ;
  300.  
  301. oilVerb: deepverb
  302.     sdesc = "oil"
  303.     verb = 'oil' 'grease' 'lubricate'
  304.     doAction = 'Oil'
  305. ;
  306.  
  307. waterVerb: deepverb
  308.     sdesc = "water"
  309.     verb = 'water'
  310.     doAction = 'Water'
  311. ;
  312.  
  313. kickVerb: deepverb
  314.     sdesc = "kick"
  315.     verb = 'kick' 'knee'
  316.     doAction = 'Kick'
  317. ;
  318.  
  319. singVerb: deepverb
  320.     sdesc = "sing"
  321.     verb = 'sing' 'whistle'
  322.     doAction = 'Sing'
  323.     action(actor) = { "You don't sound half bad.    But don't quit your day job."; }
  324. ;
  325.  
  326. useVerb: deepverb
  327.     sdesc = "use"
  328.     verb = 'use' 'utilize' 'employ'
  329.     doAction = 'Use'
  330. ;
  331.  
  332. lightVerb: deepverb
  333.     sedsc = "light"
  334.     verb = 'light'
  335.     doAction = 'Light'
  336. ;
  337.  
  338. pickVerb: deepverb
  339.     sdesc = "pick"
  340.     verb = 'pick'
  341.     doAction = 'Pick'
  342. ;
  343.  
  344. wakeVerb: deepverb
  345.     sdesc = "wake"
  346.     verb = 'wake' 'awaken' 'wake up' 'disturb'
  347.     doAction = 'Wake'
  348. ;
  349.  
  350. digVerb: deepverb
  351.     sdesc = "dig"
  352.     verb = 'dig' 'burrow'
  353.     action(actor) = {
  354.         "Digging without a shovel is quite impractical.  Even 
  355.         with a shovel progress is unlikely.";
  356.     }
  357. ;
  358.  
  359. blastVerb: deepverb
  360.     sdesc = "blast"
  361.     verb = 'blast' 'blast with'
  362.     action(actor) = {
  363.         if (Me.isIn(At_Ne_End) or Me.isIn(At_Sw_End))
  364.             black_mark_rod.doBlastWith(actor);
  365.         else
  366.             "Blasting requires dynamite.";
  367.     }
  368.     doAction = 'BlastWith'
  369. ;
  370.  
  371. feedVerb: deepverb
  372.     sdesc = "feed"
  373.     verb = 'feed' 'stuff' 'fatten'
  374.     doAction = 'Feed'
  375. ;
  376.  
  377. fillVerb: deepverb
  378.     sdesc = "fill"
  379.     verb = 'fill'
  380.     doAction = 'Fill'
  381. ;
  382.  
  383. emptyVerb: deepverb
  384.     sdesc = "empty"
  385.     verb = 'empty'
  386.     doAction = 'Empty'
  387. ;
  388.  
  389. /*
  390.  * Do this later.
  391.  */
  392. backVerb: travelVerb
  393.     verb = 'back' 'return' 'retreat'
  394.      action(actor) = {
  395.         actor.travelTo(self.travelDir(actor));
  396.     }
  397.     travelDir(actor) = {
  398.         return(actor.location.back);
  399.     }
  400. ;
  401.  
  402. /*
  403.  * From here until the end of the file we define the new direction verbs.
  404.  * Not very exciting reading.
  405.  */
  406. jumpVerb: travelVerb    // this is normally defined in adv.t
  407.     verb = 'jump' 'leap'
  408.      action(actor) = {
  409.         actor.travelTo(self.travelDir(actor));
  410.     }
  411.     travelDir(actor) = {
  412.         return(actor.location.road);
  413.     }
  414. ;
  415.  
  416. roadVerb: travelVerb
  417.     verb = 'road' 'hill'
  418.      action(actor) = {
  419.         actor.travelTo(self.travelDir(actor));
  420.     }
  421.     travelDir(actor) = {
  422.         return(actor.location.road);
  423.     }
  424. ;
  425.  
  426. upstreamVerb: travelVerb
  427.     verb = 'upstream'
  428.      action(actor) = {
  429.         actor.travelTo(self.travelDir(actor));
  430.     }
  431.     travelDir(actor) = {
  432.         return(actor.location.upstream);
  433.     }
  434. ;
  435.  
  436. downstreamVerb: travelVerb
  437.     verb = 'downstream'
  438.      action(actor) = {
  439.         actor.travelTo(self.travelDir(actor));
  440.     }
  441.     travelDir(actor) = {
  442.         return(actor.location.downstream);
  443.     }
  444. ;
  445.  
  446. forestVerb: travelVerb
  447.     verb = 'forest'
  448.      action(actor) = {
  449.         actor.travelTo(self.travelDir(actor));
  450.     }
  451.     travelDir(actor) = {
  452.         return(actor.location.forest);
  453.     }
  454. ;
  455.  
  456. forwardsVerb: travelVerb
  457.     verb = 'forwards' 'continue' 'onward'
  458.      action(actor) = {
  459.         actor.travelTo(self.travelDir(actor));
  460.     }
  461.     travelDir(actor) = {
  462.         return(actor.location.forwards);
  463.     }
  464. ;
  465.  
  466. valleyVerb: travelVerb
  467.     verb = 'valley'
  468.      action(actor) = {
  469.         actor.travelTo(self.travelDir(actor));
  470.     }
  471.     travelDir(actor) = {
  472.         return(actor.location.valley);
  473.     }
  474. ;
  475.  
  476. stairsVerb: travelVerb
  477.     verb = 'stairs'
  478.      action(actor) = {
  479.         actor.travelTo(self.travelDir(actor));
  480.     }
  481.     travelDir(actor) = {
  482.         return(actor.location.stairs);
  483.     }
  484. ;
  485.  
  486. buildingVerb: travelVerb
  487.     verb = 'building' 'house'
  488.      action(actor) = {
  489.         actor.travelTo(self.travelDir(actor));
  490.     }
  491.     travelDir(actor) = {
  492.         return(actor.location.building);
  493.     }
  494. ;
  495.  
  496. gullyVerb: travelVerb
  497.     verb = 'gully'
  498.      action(actor) = {
  499.         actor.travelTo(self.travelDir(actor));
  500.     }
  501.     travelDir(actor) = {
  502.         return(actor.location.gully);
  503.     }
  504. ;
  505.  
  506. streamVerb: travelVerb
  507.     verb = 'stream'
  508.      action(actor) = {
  509.         actor.travelTo(self.travelDir(actor));
  510.     }
  511.     travelDir(actor) = {
  512.         return(actor.location.stream);
  513.     }
  514. ;
  515.  
  516. rockVerb: travelVerb
  517.     verb = 'rock'
  518.      action(actor) = {
  519.         actor.travelTo(self.travelDir(actor));
  520.     }
  521.     travelDir(actor) = {
  522.         return(actor.location.rock);
  523.     }
  524. ;
  525.  
  526. bedVerb: travelVerb
  527.     verb = 'bed'
  528.      action(actor) = {
  529.         actor.travelTo(self.travelDir(actor));
  530.     }
  531.     travelDir(actor) = {
  532.         return(actor.location.bed);
  533.     }
  534. ;
  535.  
  536. crawlVerb: travelVerb
  537.     verb = 'crawl'
  538.      action(actor) = {
  539.         actor.travelTo(self.travelDir(actor));
  540.     }
  541.     travelDir(actor) = {
  542.         return(actor.location.crawl);
  543.     }
  544. ;
  545.  
  546. cobbleVerb: travelVerb
  547.     verb = 'cobble'
  548.      action(actor) = {
  549.         actor.travelTo(self.travelDir(actor));
  550.     }
  551.     travelDir(actor) = {
  552.         return(actor.location.cobble);
  553.     }
  554. ;
  555.  
  556. surfaceVerb: travelVerb
  557.     verb = 'surface'
  558.      action(actor) = {
  559.         actor.travelTo(self.travelDir(actor));
  560.     }
  561.     travelDir(actor) = {
  562.         return(actor.location.tosurface);
  563.     }
  564. ;
  565.  
  566. darkVerb: travelVerb
  567.     verb = 'dark'
  568.      action(actor) = {
  569.         actor.travelTo(self.travelDir(actor));
  570.     }
  571.     travelDir(actor) = {
  572.         return(actor.location.dark);
  573.     }
  574. ;
  575.  
  576. passageVerb: travelVerb
  577.     verb = 'passage' 'tunnel'
  578.      action(actor) = {
  579.         actor.travelTo(self.travelDir(actor));
  580.     }
  581.     travelDir(actor) = {
  582.         return(actor.location.passage);
  583.     }
  584. ;
  585.  
  586. lowVerb: travelVerb
  587.     verb = 'low'
  588.      action(actor) = {
  589.         actor.travelTo(self.travelDir(actor));
  590.     }
  591.     travelDir(actor) = {
  592.         return(actor.location.low);
  593.     }
  594. ;
  595.  
  596. canyonVerb: travelVerb
  597.     verb = 'canyon'
  598.      action(actor) = {
  599.         actor.travelTo(self.travelDir(actor));
  600.     }
  601.     travelDir(actor) = {
  602.         return(actor.location.canyon);
  603.     }
  604. ;
  605.  
  606. awkwardVerb: travelVerb
  607.     verb = 'awkward'
  608.      action(actor) = {
  609.         actor.travelTo(self.travelDir(actor));
  610.     }
  611.     travelDir(actor) = {
  612.         return(actor.location.awkward);
  613.     }
  614. ;
  615.  
  616. giantVerb: travelVerb
  617.     verb = 'giant'
  618.      action(actor) = {
  619.         actor.travelTo(self.travelDir(actor));
  620.     }
  621.     travelDir(actor) = {
  622.         return(actor.location.giant);
  623.     }
  624. ;
  625.  
  626. viewVerb: travelVerb
  627.     verb = 'view'
  628.      action(actor) = {
  629.         actor.travelTo(self.travelDir(actor));
  630.     }
  631.     travelDir(actor) = {
  632.         return(actor.location.view);
  633.     }
  634. ;
  635.  
  636. pitVerb: travelVerb
  637.     verb = 'pit'
  638.      action(actor) = {
  639.         actor.travelTo(self.travelDir(actor));
  640.     }
  641.     travelDir(actor) = {
  642.         return(actor.location.pit);
  643.     }
  644. ;
  645.  
  646. outdoorsVerb: travelVerb
  647.     verb = 'outdoors'
  648.      action(actor) = {
  649.         actor.travelTo(self.travelDir(actor));
  650.     }
  651.     travelDir(actor) = {
  652.         return(actor.location.outdoors);
  653.     }
  654. ;
  655.  
  656. crackVerb: travelVerb
  657.     verb = 'crack'
  658.      action(actor) = {
  659.         actor.travelTo(self.travelDir(actor));
  660.     }
  661.     travelDir(actor) = {
  662.         return(actor.location.crack);
  663.     }
  664. ;
  665.  
  666. stepsVerb: travelVerb
  667.     verb = 'steps'
  668.      action(actor) = {
  669.         actor.travelTo(self.travelDir(actor));
  670.     }
  671.     travelDir(actor) = {
  672.         return(actor.location.steps);
  673.     }
  674. ;
  675.  
  676. domeVerb: travelVerb
  677.     verb = 'dome'
  678.      action(actor) = {
  679.         actor.travelTo(self.travelDir(actor));
  680.     }
  681.     travelDir(actor) = {
  682.         return(actor.location.dome);
  683.     }
  684. ;
  685.  
  686. leftVerb: travelVerb
  687.     verb = 'left'
  688.      action(actor) = {
  689.         actor.travelTo(self.travelDir(actor));
  690.     }
  691.     travelDir(actor) = {
  692.         return(actor.location.left);
  693.     }
  694. ;
  695.  
  696. rightVerb: travelVerb
  697.     verb = 'right'
  698.      action(actor) = {
  699.         actor.travelTo(self.travelDir(actor));
  700.     }
  701.     travelDir(actor) = {
  702.         return(actor.location.right);
  703.     }
  704. ;
  705.  
  706. hallVerb: travelVerb
  707.     verb = 'hall'
  708.      action(actor) = {
  709.         actor.travelTo(self.travelDir(actor));
  710.     }
  711.     travelDir(actor) = {
  712.         return(actor.location.hall);
  713.     }
  714. ;
  715.  
  716. barrenVerb: travelVerb
  717.     verb = 'barren'
  718.      action(actor) = {
  719.         actor.travelTo(self.travelDir(actor));
  720.     }
  721.     travelDir(actor) = {
  722.         return(actor.location.barren);
  723.     }
  724. ;
  725.  
  726. overVerb: travelVerb
  727.     verb = 'over'
  728.      action(actor) = {
  729.         actor.travelTo(self.travelDir(actor));
  730.     }
  731.     travelDir(actor) = {
  732.         return(actor.location.over);
  733.     }
  734. ;
  735.  
  736. acrossVerb: travelVerb
  737.     verb = 'across'
  738.      action(actor) = {
  739.         actor.travelTo(self.travelDir(actor));
  740.     }
  741.     travelDir(actor) = {
  742.         return(actor.location.across);
  743.     }
  744. ;
  745.  
  746. debrisVerb: travelVerb
  747.     verb = 'debris'
  748.      action(actor) = {
  749.         actor.travelTo(self.travelDir(actor));
  750.     }
  751.     travelDir(actor) = {
  752.         return(actor.location.debris);
  753.     }
  754. ;
  755.  
  756. holeVerb: travelVerb
  757.     verb = 'hole'
  758.      action(actor) = {
  759.         actor.travelTo(self.travelDir(actor));
  760.     }
  761.     travelDir(actor) = {
  762.         return(actor.location.hole);
  763.     }
  764. ;
  765.  
  766. wallVerb: travelVerb
  767.     verb = 'wall'
  768.      action(actor) = {
  769.         actor.travelTo(self.travelDir(actor));
  770.     }
  771.     travelDir(actor) = {
  772.         return(actor.location.wall);
  773.     }
  774. ;
  775.  
  776. brokenVerb: travelVerb
  777.     verb = 'broken'
  778.      action(actor) = {
  779.         actor.travelTo(self.travelDir(actor));
  780.     }
  781.     travelDir(actor) = {
  782.         return(actor.location.broken);
  783.     }
  784. ;
  785.  
  786. y2Verb: travelVerb
  787.     verb = 'y2'
  788.      action(actor) = {
  789.         actor.travelTo(self.travelDir(actor));
  790.     }
  791.     travelDir(actor) = {
  792.         return(actor.location.y2);
  793.     }
  794. ;
  795.  
  796. floorVerb: travelVerb
  797.     verb = 'floor'
  798.      action(actor) = {
  799.         actor.travelTo(self.travelDir(actor));
  800.     }
  801.     travelDir(actor) = {
  802.         return(actor.location.floor);
  803.     }
  804. ;
  805.  
  806. roomVerb: travelVerb
  807.     verb = 'room'
  808.      action(actor) = {
  809.         actor.travelTo(self.travelDir(actor));
  810.     }
  811.     travelDir(actor) = {
  812.         return(actor.location.toroom);
  813.     }
  814. ;
  815.  
  816. slitVerb: travelVerb
  817.     verb = 'slit'
  818.      action(actor) = {
  819.         actor.travelTo(self.travelDir(actor));
  820.     }
  821.     travelDir(actor) = {
  822.         return(actor.location.slit);
  823.     }
  824. ;
  825.  
  826. slabVerb: travelVerb
  827.     verb = 'slab' 'slabroom'
  828.      action(actor) = {
  829.         actor.travelTo(self.travelDir(actor));
  830.     }
  831.     travelDir(actor) = {
  832.         return(actor.location.slab);
  833.     }
  834. ;
  835.  
  836. xyzzyVerb: travelVerb
  837.     verb = 'xyzzy'
  838.      action(actor) = {
  839.         actor.travelTo(self.travelDir(actor));
  840.     }
  841.     travelDir(actor) = {
  842.         return(actor.location.xyzzy);
  843.     }
  844. ;
  845.  
  846. depressionVerb: travelVerb
  847.     verb = 'depression' 'grate'    // DMB: added 'grate'
  848.      action(actor) = {
  849.         actor.travelTo(self.travelDir(actor));
  850.     }
  851.     travelDir(actor) = {
  852.         return(actor.location.depression);
  853.     }
  854. ;
  855.  
  856. entranceVerb: travelVerb
  857.     verb = 'entrance'
  858.      action(actor) = {
  859.         actor.travelTo(self.travelDir(actor));
  860.     }
  861.     travelDir(actor) = {
  862.         return(actor.location.entrance);
  863.     }
  864. ;
  865.  
  866. plughVerb: travelVerb
  867.     verb = 'plugh'
  868.      action(actor) = {
  869.         actor.travelTo(self.travelDir(actor));
  870.     }
  871.     travelDir(actor) = {
  872.         return(actor.location.plugh);
  873.     }
  874. ;
  875.  
  876. secretVerb: travelVerb
  877.     verb = 'secret'
  878.      action(actor) = {
  879.         actor.travelTo(self.travelDir(actor));
  880.     }
  881.     travelDir(actor) = {
  882.         return(actor.location.secret);
  883.     }
  884. ;
  885.  
  886. caveVerb: travelVerb
  887.     verb = 'cave'
  888.      action(actor) = {
  889.         actor.travelTo(self.travelDir(actor));
  890.     }
  891.     travelDir(actor) = {
  892.         return(actor.location.cave);
  893.     }
  894. ;
  895.  
  896. crossVerb: travelVerb
  897.     verb = 'cross'
  898.      action(actor) = {
  899.         actor.travelTo(self.travelDir(actor));
  900.     }
  901.     travelDir(actor) = {
  902.         return(actor.location.cross);
  903.     }
  904.     doAction = 'Cross'
  905. ;
  906.  
  907. bedquiltVerb: travelVerb
  908.     verb = 'bedquilt'
  909.      action(actor) = {
  910.         actor.travelTo(self.travelDir(actor));
  911.     }
  912.     travelDir(actor) = {
  913.         return(actor.location.bedquilt);
  914.     }
  915. ;
  916.  
  917. ploverVerb: travelVerb
  918.     verb = 'plover'
  919.      action(actor) = {
  920.         local    loc;
  921.  
  922.         //
  923.         // If the player teleports by using the plover
  924.         // magic word while holding the emerald, the
  925.         // emerald goes back to its original source.
  926.         //
  927.         loc := actor.location;
  928.         actor.travelTo(self.travelDir(actor));
  929.         if (loc <> actor.location and egg_sized_emerald.isIn(Me))
  930.             egg_sized_emerald.moveInto(In_Plover_Room);
  931.     }
  932.     travelDir(actor) = {
  933.         return(actor.location.plover);
  934.     }
  935. ;
  936.  
  937. orientalVerb: travelVerb
  938.     verb = 'oriental'
  939.      action(actor) = {
  940.         actor.travelTo(self.travelDir(actor));
  941.     }
  942.     travelDir(actor) = {
  943.         return(actor.location.oriental);
  944.     }
  945. ;
  946.  
  947. cavernVerb: travelVerb
  948.     verb = 'cavern'
  949.      action(actor) = {
  950.         actor.travelTo(self.travelDir(actor));
  951.     }
  952.     travelDir(actor) = {
  953.         return(actor.location.cavern);
  954.     }
  955. ;
  956.  
  957. shellVerb: travelVerb
  958.     verb = 'shell'
  959.      action(actor) = {
  960.         actor.travelTo(self.travelDir(actor));
  961.     }
  962.     travelDir(actor) = {
  963.         return(actor.location.shell);
  964.     }
  965. ;
  966.  
  967. reservoirVerb: travelVerb
  968.     verb = 'reservoir'
  969.      action(actor) = {
  970.         actor.travelTo(self.travelDir(actor));
  971.     }
  972.     travelDir(actor) = {
  973.         return(actor.location.reservoir);
  974.     }
  975. ;
  976.  
  977. mainVerb: travelVerb
  978.     verb = 'main' 'office'
  979.      action(actor) = {
  980.         actor.travelTo(self.travelDir(actor));
  981.     }
  982.     travelDir(actor) = {
  983.         return(actor.location.main);
  984.     }
  985. ;
  986.  
  987. forkVerb: travelVerb
  988.     verb = 'fork'
  989.      action(actor) = {
  990.         actor.travelTo(self.travelDir(actor));
  991.     }
  992.     travelDir(actor) = {
  993.         return(actor.location.fork);
  994.     }
  995. ;
  996.